#ifndef _INTERFACE_H
#define _INTERFACE_H

#ifdef __cplusplus
extern "C" {
#endif
	void* newVariable(char* str);
	void* newConstant(double constant);

	void* newPlus(void* left, void* right);
	void* newMinus(void* left, void* right);
	void* newMultiply(void* left, void* right);
	void* newDivide(void* left, void* right);

	void* newSin(void* left);
	void* newCos(void* left);
	void* newLn(void* left);
	void* newLog(void* left);
	void* newExp(void* left);
	void* newAbs(void* left);
	void* newPow(void* left, void* right);

	void* getRoot();
	void setRoot(void* otherRoot);

	void* getDeltaTheta();
	void setDeltaTheta(void* otherDelta);
	void* getDeltaPhi();
	void setDeltaPhi(void* otherDelta);

	void** getRgb();
	void setRgb(void* otherRgb[3]);

#ifdef __cplusplus
}
#endif

#endif
